package com.linkage.lcims.base.po.business;

import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;


/** 
 *        @hibernate.class
 *         table="BD_GROUP_ID"
 *     
*/
@SuppressWarnings("serial")
public class BdGroupId implements Serializable {

    /** identifier field */
    private Integer groupid;

    /** persistent field */
    private String name;

    /** persistent field */
    private Integer servicetype;

    /** persistent field */
    private Integer usertype;

    /** persistent field */
    private Integer customertype;

    /** persistent field */
    private String areano;

    /** persistent field */
    private Integer status;

    /** persistent field */
    private Date effdate;

    /** persistent field */
    private Date expdate;

    /** nullable persistent field */
    private String admin;

    /** nullable persistent field */
    private Date operdate;

    /** nullable persistent field */
    private String accounttypelist;

    /** nullable persistent field */
    private Integer limitusedvalue;

    /** nullable persistent field */
    private Integer fixedrentflag;

    /** nullable persistent field */
    private Integer rightflag;

    private Integer policyid;
    
    private Integer rentid;
    
    /** nullable persistent field */
    private String description;

//    /** nullable persistent field */
//    private String reserved1;

    /** full constructor */
    public BdGroupId(Integer groupid, String name, Integer servicetype, Integer usertype, Integer customertype, String areano, Integer status, Date effdate, Date expdate, String admin, Date operdate, String accounttypelist, Integer limitusedvalue, Integer fixedrentflag, Integer rightflag, Integer policyid, Integer rentid,String description) {
        this.groupid = groupid;
        this.name = name;
        this.servicetype = servicetype;
        this.usertype = usertype;
        this.customertype = customertype;
        this.areano = areano;
        this.status = status;
        this.effdate = effdate;
        this.expdate = expdate;
        this.admin = admin;
        this.operdate = operdate;
        this.accounttypelist = accounttypelist;
        this.limitusedvalue = limitusedvalue;
        this.fixedrentflag = fixedrentflag;
        this.rightflag = rightflag;
        this.policyid = policyid;
        this.rentid = rentid;
        this.description = description;
//        this.reserved1 = reserved1;
    }

    /** default constructor */
    public BdGroupId() {
    }

    /** minimal constructor */
    public BdGroupId(Integer groupid, String name, Integer servicetype, Integer usertype, Integer customertype, String areano, Integer status, Date effdate, Date expdate, Integer policyid) {
        this.groupid = groupid;
        this.name = name;
        this.servicetype = servicetype;
        this.usertype = usertype;
        this.customertype = customertype;
        this.areano = areano;
        this.status = status;
        this.effdate = effdate;
        this.expdate = expdate;
        this.policyid=policyid;
    }

    /** 
     *            @hibernate.id
     *             generator-class="assigned"
     *             type="java.lang.Integer"
     *             column="groupid"
     *         
     */
    public Integer getGroupid() {
        return this.groupid;
    }

    public void setGroupid(Integer groupid) {
        this.groupid = groupid;
    }

    /** 
     *            @hibernate.property
     *             column="name"
     *             length="50"
     *             not-null="true"
     *         
     */
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    /** 
     *            @hibernate.property
     *             column="servicetype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getServicetype() {
        return this.servicetype;
    }

    public void setServicetype(Integer servicetype) {
        this.servicetype = servicetype;
    }

    /** 
     *            @hibernate.property
     *             column="usertype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getUsertype() {
        return this.usertype;
    }

    public void setUsertype(Integer usertype) {
        this.usertype = usertype;
    }

    /** 
     *            @hibernate.property
     *             column="customertype"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getCustomertype() {
        return this.customertype;
    }

    public void setCustomertype(Integer customertype) {
        this.customertype = customertype;
    }

    /** 
     *            @hibernate.property
     *             column="areano"
     *             length="20"
     *             not-null="true"
     *         
     */
    public String getAreano() {
        return this.areano;
    }

    public void setAreano(String areano) {
        this.areano = areano;
    }

    /** 
     *            @hibernate.property
     *             column="status"
     *             length="10"
     *             not-null="true"
     *         
     */
    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    /** 
     *            @hibernate.property
     *             column="effdate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getEffdate() {
        return this.effdate;
    }

    public void setEffdate(Date effdate) {
        this.effdate = effdate;
    }

    /** 
     *            @hibernate.property
     *             column="expdate"
     *             length="23"
     *             not-null="true"
     *         
     */
    public Date getExpdate() {
        return this.expdate;
    }

    public void setExpdate(Date expdate) {
        this.expdate = expdate;
    }

    /** 
     *            @hibernate.property
     *             column="admin"
     *             length="15"
     *         
     */
    public String getAdmin() {
        return this.admin;
    }

    public void setAdmin(String admin) {
        this.admin = admin;
    }

    /** 
     *            @hibernate.property
     *             column="operdate"
     *             length="23"
     *         
     */
    public Date getOperdate() {
        return this.operdate;
    }

    public void setOperdate(Date operdate) {
        this.operdate = operdate;
    }

    /** 
     *            @hibernate.property
     *             column="accounttypelist"
     *             length="20"
     *         
     */
    public String getAccounttypelist() {
        return this.accounttypelist;
    }

    public void setAccounttypelist(String accounttypelist) {
        this.accounttypelist = accounttypelist;
    }

    /** 
     *            @hibernate.property
     *             column="limitusedvalue"
     *             length="10"
     *         
     */
    public Integer getLimitusedvalue() {
        return this.limitusedvalue;
    }

    public void setLimitusedvalue(Integer limitusedvalue) {
        this.limitusedvalue = limitusedvalue;
    }

    /** 
     *            @hibernate.property
     *             column="fixedrentflag"
     *             length="10"
     *         
     */
    public Integer getFixedrentflag() {
        return this.fixedrentflag;
    }

    public void setFixedrentflag(Integer fixedrentflag) {
        this.fixedrentflag = fixedrentflag;
    }

    /** 
     *            @hibernate.property
     *             column="rightflag"
     *             length="10"
     *         
     */
    public Integer getRightflag() {
        return this.rightflag;
    }

    public void setRightflag(Integer rightflag) {
        this.rightflag = rightflag;
    }

    /** 
     *            @hibernate.property
     *             column="description"
     *             length="100"
     *         
     */
    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

//    /** 
//     *            @hibernate.property
//     *             column="reserved1"
//     *             length="100"
//     *         
//     */
//    public String getReserved1() {
//        return this.reserved1;
//    }
//
//    public void setReserved1(String reserved1) {
//        this.reserved1 = reserved1;
//    } 

    public String toString() {
        return new ToStringBuilder(this)
            .append("groupid", getGroupid())
            .toString();
    }

    public boolean equals(Object other) {
        if ( (this == other ) ) return true;
        if ( !(other instanceof BdGroupId) ) return false;
        BdGroupId castOther = (BdGroupId) other;
        return new EqualsBuilder()
            .append(this.getGroupid(), castOther.getGroupid())
            .isEquals();
    }

    public int hashCode() {
        return new HashCodeBuilder()
            .append(getGroupid())
            .toHashCode();
    }

	/**
	 * @return Returns the policyid.
	 */
	public Integer getPolicyid() {
		return policyid;
	}
	/**
	 * @param policyid The policyid to set.
	 */
	public void setPolicyid(Integer policyid) {
		this.policyid = policyid;
	}
	
	/**
	 * @return Returns the rentid.
	 */
	public Integer getRentid() {
		return rentid;
	}
	/**
	 * @param rentid The rentid to set.
	 */
	public void setRentid(Integer rentid) {
		this.rentid = rentid;
	}
}
